package cn.leyou.mapper;

import cn.leyou.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Options;

/**
 * 使用通用Mapper
 * @version 1.0.0
 * @Author yong.Mr
 * @data 2019-8-9
 */
@Mapper
public interface UserMapper extends tk.mybatis.mapper.common.Mapper<User> {

    public User getTbUser(Integer id);

    // 方法一 测试insert数据返回自动递增的主键在user中的id。这个int为inser影响的条数  <selectKey></selectKey>
    public int getInsertPrimary11(User user);

    // 方法二 测试insert数据返回自动递增的主键在user中的id。这个int为inser影响的条数  useGeneratedKeys="true" keyProperty="id"
    public int getInsertPrimary22(User user);

    // 方法三 注解开发insert获取自动递增的主键在user中的id。这个int为inser影响的条数
    //@InsertProvider(type = UserMapper.class,method = getTbUser) type 类声明, method类中的方法
    @Insert(" insert into tb_user(username,password,phone,created,salt) values(#{userName},#{password},#{phone},#{created},#{salt})")
    //@SelectKey(before = false,keyProperty = "id",resultType = java.lang.Integer.class,statement = "call identity()",keyColumn = "id") //selectSelectKey返回 xml方法一** 使用selectKey
    @Options(keyProperty = "id",useGeneratedKeys = true,keyColumn = "id") // xml方法二 flushCache="false" useGeneratedKeys="true" keyProperty="id"
    public int getInsertPrimaryNote33(User user);

}
